#include <stdio.h>
#include <stdbool.h>
#include <stdlib.h>

float mypower(float x, int N)
{
    float result = 1; // 1就是x的0次方

    bool nagative = false;
    if(N < 0)
        nagative = true;

    for(int i=0; i<abs(N); i++)
    {
        result *= x; 
    }

    return nagative ? 1/result : result ;
}

float mypower2(float x, int N)
{
    // 直接返回的条件
    if(N == 0)
        return 1;

    // N为正数: x^N = x^(N-1) * x^(+1)
    // N为负数: x^N = x^(N+1) * x^(-1)
    if(N > 0)
        return mypower2(x, N-1) * x;
    else
        return mypower2(x, N+1) * 1/x;
}

int main(int argc, char const *argv[])
{
    float x;
    int N;
`
    scanf("%f%d", &x, &N);
    printf("%f\n", mypower(x, N));
    printf("%f\n", mypower2(x, N));

    return 0;
}
